package games.gong.durid.service;

import games.gong.durid.entity.UserRole;

import java.util.List;

public interface UserRoleService {
    
    /**
     * 添加用户角色关联
     * @param userRole 用户角色关联信息
     * @return 添加的用户角色关联数量
     */
    int addUserRole(UserRole userRole);
    
    /**
     * 删除用户角色关联
     * @param id 用户角色关联ID
     * @return 删除的用户角色关联数量
     */
    int deleteUserRole(Long id);
    
    /**
     * 根据用户ID和角色ID删除用户角色关联
     * @param userId 用户ID
     * @param roleId 角色ID
     * @return 删除的用户角色关联数量
     */
    int deleteUserRoleByUserIdAndRoleId(Long userId, Long roleId);
    
    /**
     * 根据ID获取用户角色关联
     * @param id 用户角色关联ID
     * @return 用户角色关联信息
     */
    UserRole getUserRoleById(Long id);
    
    /**
     * 根据用户ID获取用户角色关联列表
     * @param userId 用户ID
     * @return 用户角色关联列表
     */
    List<UserRole> getUserRolesByUserId(Long userId);
    
    /**
     * 根据角色ID获取用户角色关联列表
     * @param roleId 角色ID
     * @return 用户角色关联列表
     */
    List<UserRole> getUserRolesByRoleId(Long roleId);
}